A transaction-based memory interface is one of the choices for interfacing with a variety of memory and storage devices. The transaction-based memory interface provides design flexibility because a memory controller of a host computer and the coupled memory and storage device communicate with each other via asynchronous messages. The transaction-based memory interface can support higher memory capacity and higher bandwidth for memory devices or storage devices. The transaction-based memory interface can also be used as an interface for input/output (I/O) ports to provide connectivity between various types of electronic devices.
Typically, a generic transaction-based interface designed for memory and storage modules provides discrete interfaces for the memory and storage modules. The number of modules that can be coupled to a host computer is determined by the predetermined number of links supported by the interface. FIG. 1 shows an example of such a generic transaction-based interface. The transaction-based interface 110 has a total of n+m interface links including a first set of interface links for memory modules 1-n and a second set of interface links for storage modules 1-m. In a typical system, memory and storage modules reside in a discrete module and operate in a memory address space and a storage address space, respectively.